Load scripts
library(knitr)
source("./Scripts/Settings.R")
source("./Scripts/AusWeather.R")
source("./Scripts/Utility.R")
library(recipes)
aus_map <- function(data) {
map <- with_nameSpace(
"maps",
ggplot2::borders("world", regions = "Australia", fill = "grey90", colour = "black")
)
ggplot(data) + map + xlim(112, 155) + ylim(-44, -10) # Set y axis limits
}
aus_dark_map <- function(data) {
map <- with_nameSpace(
"maps",
ggplot2::borders("world", regions = "Australia", fill = "DarkGrey", colour = "black")
)
ggplot(data) + map + xlim(112, 155) + ylim(-44, -10) # Set y axis limits
}
baseline_start <- 1951
baseline_end <- 1980
observation_info <- aus_rainfall_observations_info
minor_period <- aus_monthly_period()
clean_info <- aus_clean_info("RainAnamoly", aus_rainfall_observations_info, yearly_present_target = 350, clean_years_target = 50)
valuation_info <- aus_valuation_info(
"RainAnamoly", clean_info, baseline_start = baseline_start, baseline_end = baseline_end,
minor_period = aus_monthly_period(),
scale = TRUE)
baseline_stations <- aus_baseline_stations(valuation_info)
baseline_clean_summaries <- aus_observation_clean_summary(baseline_stations$Station, clean_info) %>% filter(Clean)
baseline_stations
baseline_clean_summaries
baseline_clean_summaries %>%
unnest(All) %>%
aus_dark_map() +
geom_point(aes(x = Longitude, y = Latitude, color = log2(Mean))) +
scale_colour_distiller(type = "div", palette="RdBu", direction = 1)
set.seed(99)
test_stations <- baseline_stations %>% sample_n(25) %>% pull(Station)
test_clean_summaries <- aus_observation_clean_summary(test_stations, clean_info) %>% unnest(Clean_Yearly) %>% filter(Year_Clean)
test_clean_summaries %>%
ggplot() + geom_col(aes(x = Year, y = Mean)) + facet_wrap(~ Station) +
annotate("rect",
xmin = baseline_start,
xmax = baseline_end,
ymin = -Inf, ymax = Inf, alpha = 0.1)
test_observations <- aus_clean_observations(test_stations, clean_info)
valuation_info <- aus_valuation_info(
"RainAnamoly", clean_info, baseline_start = baseline_start, baseline_end = baseline_end,
minor_period = aus_monthly_period(),
input_variables = list(),
mutators = list(
),
summarisers = list2(
Monthly_Rainfall = quo(sum(Rainfall, na.rm = TRUE)),
Sqrt_Monthly_Rainfall = quo(sqrt(Monthly_Rainfall+0.1))
),
output_variable = sym("Sqrt_Monthly_Rainfall"),
scale = TRUE)
test_valuation <- aus_valuations(test_observations, valuation_info)
test_valuation
test_baselines <- aus_valuation_baselines(test_observations, valuation_info)
test_baselines
test_baselines %>% ggplot() + geom_line(aes(x = Minor_Period, y = Baseline.Mean)) + facet_wrap(~ Station) + ggtitle("Test Baselines means")
test_baselines %>% ggplot() + geom_col(aes(x = Minor_Period, y = Baseline.N)) + facet_wrap(~ Station) + ggtitle("Test Baselines Observations")
plot_baseline_v_time <- function(valuations, station) {
test_baselines %>%
filter(Station == station) %>%
ggplot(aes(x = Minor_Period, y = Baseline.Mean)) +
geom_line() +
geom_errorbar(aes(ymin=Baseline.Mean-Baseline.SD, ymax=Baseline.Mean+Baseline.SD), width=.1) +
geom_point(aes(x = Minor_Period, y = Baseline.Mean)) +
ggtitle(station)
}
for (station in test_stations) {
print(plot_baseline_v_time(test_valuations, station))
}
test_valuations <- aus_valuations(test_observations, valuation_info, baselines = test_baselines)
test_valuations
test_valuations %>% ggplot() +
geom_line(aes(x = Median_Date, y = Rainfall.Anamoly)) + facet_wrap(~ Station) + ggtitle("Test Baselines means")
plot_anomly_v_time <- function(valuations, station) {
valuations %>%
filter(Station == station) %>%
ggplot() +
geom_line(aes(x = Median_Date, y = Rainfall.Anamoly)) +
ggtitle(station)
}
for (station in test_stations) {
print(plot_anomly_v_time(test_valuations, station))
}
test_valuations %>%
ggplot() +
geom_density(aes(x = Rainfall.Anamoly, color = Station)) +
ggtitle(station)
plot_anomly_density <- function(valuations, station) {
valuations %>%
filter(Station == station) %>%
ggplot() +
geom_density(aes(x = Rainfall.Anamoly)) +
ggtitle(station)
}
for (station in test_stations) {
print(plot_anomly_density(test_valuations, station))
}
Combined plot
test_valuations %>%
ggplot() +
geom_point(aes(x = Median_Date, y = Rainfall.Anamoly))
observations <- aus_clean_observations(baseline_stations$Station, clean_info)
observations
baselines <- aus_valuation_baselines(observations, valuation_info)
baselines
valuations <- aus_valuations(observations, valuation_info, baselines = baselines)
valuations
valuations %>%
filter(Major_Period == 2017, Minor_Period == 1) %>%
inner_join(baseline_stations, by = c("Zone", "Station")) %>%
aus_dark_map() +
geom_point(aes(x = Longitude, y = Latitude, color = Rainfall.Anamoly)) +
scale_colour_distiller(type = "div", palette="RdBu", direction = 1)
valuations %>%
inner_join(baseline_stations, by = c("Zone", "Station")) %>%
filter(Major_Period > 1990, Longitude > 140, Latitude < -30) %>%
group_by(Median_Date) %>%
summarise(Rainfall.Anamoly = mean(Rainfall.Anamoly)) %>%
ggplot(aes(x = Median_Date, y = Rainfall.Anamoly)) +
geom_line() +
geom_smooth()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'